#include "app_wifi.h"

#define APP_WIFI_PORT           GPIOA
#define APP_WIFI_PIN            LL_GPIO_PIN_11
#define WIFI_ReadLevel()        LL_GPIO_IsInputPinSet(GPIOA, LL_GPIO_PIN_11)

void app_wifi_init(void)
{
    LL_IOP_GRP1_EnableClock(LL_IOP_GRP1_PERIPH_GPIOA);

    LL_GPIO_InitTypeDef GPIO_InitStruct = {0x00};
    GPIO_InitStruct.Pin         = APP_WIFI_PIN;
    GPIO_InitStruct.Mode        = LL_GPIO_MODE_OUTPUT;
    GPIO_InitStruct.Speed       = LL_GPIO_SPEED_FREQ_VERY_HIGH;
    GPIO_InitStruct.OutputType  = LL_GPIO_OUTPUT_PUSHPULL;
    GPIO_InitStruct.Pull        = LL_GPIO_PULL_UP;
    LL_GPIO_Init(APP_WIFI_PORT, &GPIO_InitStruct);

    drv_uart_init(UART_USART1, 115200);
    LL_GPIO_SetOutputPin(APP_WIFI_PORT, APP_WIFI_PIN);
} 

inline void app_wifi_set_off(void)
{
    LL_GPIO_SetOutputPin(APP_WIFI_PORT, APP_WIFI_PIN);
    dev_obj->tuya_net = TUYA_NET_NONE;
    //drv_uart_deinit(UART_USART1);
}

inline void app_wifi_set_on(void)
{
    drv_uart_init(UART_USART1, 115200);
    LL_GPIO_ResetOutputPin(APP_WIFI_PORT, APP_WIFI_PIN);
}

unsigned char app_wifi_is_off(void)
{
    if (RESET == WIFI_ReadLevel()) {
        return 0x01;
    }

    return 0x00;
}